#pragma once
#include "mprpcconfig.h"

/*
mprpc框架的基础类,负责框架的一些初始化操作
*/
class MprpcApplication
{
private:
    static MprpcConfig m_config;
    
public:
    // 框架初始化,解析配置项文件
    static void Init(int argc, char** argv);
    // 获取MprpcApplication单例模式对象
    static MprpcApplication& GetInstance();
    static MprpcConfig& GetConfig();
private:
    MprpcApplication(){}
    MprpcApplication(const MprpcApplication&) = delete;
    MprpcApplication(MprpcApplication&&) = delete;
    MprpcApplication& operator=(MprpcApplication&) = delete;
    MprpcApplication& operator=(MprpcApplication&&) = delete;
};